package br.com.felipe.agendamento.entity;

import java.io.Serializable;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.xml.bind.annotation.XmlRootElement;

@Entity
@Table(name="medico")
@XmlRootElement
public class MedicoDto implements Serializable {

	@Transient
	private static final long serialVersionUID = -1587200462741354838L;
	
	@Id @GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id_medico")
	private Integer idMedico;
	
	@OneToOne(cascade = CascadeType.ALL)
	@JoinColumn(name="fk_pessoa")
	private PessoaDto pessoaDto;
	
	@Column(name="crm")
	private String crm;
	
	@ManyToMany(mappedBy = "listaMedicoRede", targetEntity = ConsultorioDto.class)
	private List<ConsultorioDto> listaConsultorioRede;

	public Integer getIdMedico() {
		return idMedico;
	}

	public void setIdMedico(Integer idMedico) {
		this.idMedico = idMedico;
	}

	public PessoaDto getPessoaDto() {
		return pessoaDto;
	}

	public void setPessoaDto(PessoaDto pessoaDto) {
		this.pessoaDto = pessoaDto;
	}

	public String getCrm() {
		return crm;
	}

	public void setCrm(String crm) {
		this.crm = crm;
	}

	public List<ConsultorioDto> getListaConsultorioRede() {
		return listaConsultorioRede;
	}

	public void setListaConsultorioRede(List<ConsultorioDto> listaConsultorioRede) {
		this.listaConsultorioRede = listaConsultorioRede;
	}
	
}
